/**
 * @desc 用提供的值替换多个对象键的名称。
 * @param keysMap
 * @param obj
 * @returns {{}}
 */
const renameKeys = (keysMap, obj) =>
	// 利用 Object.keys 拿到该对象的所有 key 值
	Object.keys(obj).reduce(
		// reduce 利用 ... 扩展运算符来替换 obj 上的 key 值
		(acc, key) => ({
			...acc,
			...{ [keysMap[key] || key]: obj[key] }
		}),
		{}
	);

const obj = { name: 'Bobo', job: 'Front-End Master', shoeSize: 100 };
renameKeys({ name: 'firstName', job: 'passion' }, obj)
// { firstName: 'Bobo', passion: 'Front-End Master', shoeSize: 100 }
